<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <p>
      For a guide and recipes on how to configure / customize this project,<br>
      check out the
      <a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
    </p>
    <input type="button" value="设置用户" @click="updateUser">
    <h3>
      user: {{ userModule.user }} <br/>
      {{ $store.state.userModule.user }}
    </h3>
  </div>
</template>

<script>
import { mapMutations, mapState } from 'vuex'
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  computed: {
    ...mapState(['userModule'])
  },
  methods: {
    // 对应mutation而言，是不用加模块名称
    ...mapMutations(['setUser']),
    updateUser () {
      // this.setUser('管理员')
      this.$store.commit('userModule/setUser', '超级管理员')
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="less">
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
</style>
